Skip to content

feat(opy): expand audited OverPy builtin surface - #151

Merged
Teakowa merged 2 commits into
mainfrom
codex/issue-144-builtin-surface
Sep 1, 2026
Merged

feat(opy): expand audited OverPy builtin surface#151
Teakowa merged 2 commits into
mainfrom
codex/issue-144-builtin-surface

Conversation

@e54-bot

@e54-bot e54-bot commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Expand the audited OverPy manifest with builtin actions, values, member functions, aliases, receiver domains, enum-gated parameters, and source signatures.
  • Add canonical lowering for HUD text helpers, createDummy's optional facing, all/any, numeric rounding, and the audited builtin/member surface.
  • Add pinned-oracle probe coverage, positive/negative compiler tests, and advance representative real-project corpus expectations.

Verification

  • cargo fmt --all -- --check
  • cargo test --locked -p opy-rs --lib — 267 passed
  • cargo build --locked -p opy-cli --features compatibility
  • python3 crates/opy-rs/src/manifest/probes/validate.py — 42 probes match the pinned oracle
  • python3 compatibility/run_native.py --binary target/debug/opy-cli --semantic-binary target/debug/opy-compat — 61 fixtures, no regressions

Scope

This is the first coherent implementation slice for #144. The pinned inventory still has follow-up work outside this PR, including remaining upstream macros and the explicit RULE_CONDITION and stringModifier boundaries. Therefore this PR references #144 without closing it.

Refs #144

@Teakowa Teakowa left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Major — crates/opy-rs/src/manifest/data/manifest.json (hudHeader / hudSubtext)

The new source signatures omit pinned OverPy defaults for visibleTo, location, sortOrder, color, and reevaluation. At the pinned reference revision these parameters are defaulted (getAllPlayers(), LEFT, 0, WHITE, VISIBILITY_SORT_ORDER_STRING_AND_COLOR), so valid calls that omit the trailing defaults are rejected with missing-argument even though these helpers are now documented as supported.

Preserve the pinned defaulted call forms (or keep the capability explicitly bounded) and cover an omitted-default form.

Major — compatibility/compiler-expectations.json (real-world/overpy-crosshair)

This entry now expects the compiler-only unsupported-integration-surface failure for stringModifier, but crates/opy-rs/tests/differential.rs consumes the same nativeStatus through its frontend-only compile(...) + HIR validation path. The frontend resolves this fixture, so both required Rust quality jobs fail at the differential test and the compatibility gate is skipped.

Represent the frontend-success/compiler-failure stages coherently so the required workspace test passes without weakening either expectation.

@Teakowa Teakowa left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Teakowa
Teakowa merged commit 27736bb into main Sep 1, 2026
5 checks passed
@Teakowa
Teakowa deleted the codex/issue-144-builtin-surface branch September 1, 2026 03:05
@e54-bot e54-bot mentioned this pull request Sep 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants